package com.yuexunit.finance.esign.action.v1;
import java.math.BigDecimal;

import com.yuexunit.finance.context.FinVersion1;
import com.yuexunit.finance.esign.action.v1.model.output.EqbResult;
import com.yuexunit.web.annotation.Action;
import com.yuexunit.web.annotation.Parameter;
import com.yuexunit.web.annotation.Permission;

public interface EqianbaoActionApi {
	
	@Permission
	@Action(version=FinVersion1.class,description="企业信息校验")
	public EqbResult informationCheck(
			@Parameter(name = "enterpriseId", description = "企业ID", nullable = true) Long enterpriseId,
			
			@Parameter(name = "unitTypeId", description = "单位类型") String unitTypeId,
			@Parameter(name = "scardType", description = "证件类型",nullable = true) String scardType,	
			@Parameter(name = "enterpriseName", description = "企业名称") String enterpriseName,
			@Parameter(name = "regNo", description = "工商注册号",nullable = true) String regNo,
			
			@Parameter(name = "province", description = "省") String province,
			@Parameter(name = "city", description = "市") String city,
			@Parameter(name = "district", description = "区") String district,
			@Parameter(name = "contactAddress", description = "接收地址") String contactAddress,	
			
			@Parameter(name = "businessTimeLimit", description = "营业期限") String businessTimeLimit,		
			@Parameter(name = "codeUSC", description = "社会统一信用代码", nullable = true) String codeUSC,
			@Parameter(name = "certificate", description = "组织机构代码", nullable = true) String certificate,
			@Parameter(name = "sUserType", description = "填写人身份") String sUserType,
			@Parameter(name = "legalPerson", description = "法人姓名") String legalPerson,
			@Parameter(name = "legalIdcard", description = "法人身份证号码") String legalIdcard,
			@Parameter(name = "legalArea", description = "法人代表归属地") String legalArea,
			@Parameter(name = "procurator", description = "委托代理人 ",nullable = true) String procurator,
			@Parameter(name = "procuratorIdcard", description = "委托代理人身份证",nullable = true) String procuratorIdcard,
			@Parameter(name = "procuratorPeriod", description = "委托证件有效期",nullable = true) String procuratorPeriod,
			@Parameter(name = "creditCard", description = "企业对公银行账号") String creditCard,
			@Parameter(name = "subbranch", description = "企业银行账号开户行支行全称") String subbranch,
			@Parameter(name = "depositBank", description = "企业银行账号开户行名称，支持银行列表见") String depositBank,
			@Parameter(name = "prcptcd", description = "大额行号") String prcptcd
	);
	
	@Permission
	@Action(version=FinVersion1.class,description="打款验证 完成通知")
	public void cashVerification(
			@Parameter(name = "cash", description = "打款金额") BigDecimal cash
	);
	
	@Permission
	@Action(version=FinVersion1.class,description="重新认证")
	public void recertification(
			@Parameter(name = "enterpriseId", description = "企业ID") Long enterpriseId
	);
	
	@Permission
	@Action(version=FinVersion1.class,description="查询企业信息")
	public String inquireEnterprisLists(
			@Parameter(name = "enterpriseId", description = "企业ID", nullable = true) Long enterpriseId);
}
